39 research outputs found
FliPpr: A Prettier Invertible Printing System
When implementing a programming language, we often write
a parser and a pretty-printer. However, manually writing both programs
is not only tedious but also error-prone; it may happen that a pretty-printed
result is not correctly parsed. In this paper, we propose FliPpr,
which is a program transformation system that uses program inversion
to produce a CFG parser from a pretty-printer. This novel approach
has the advantages of fine-grained control over pretty-printing, and easy
reuse of existing efficient pretty-printer and parser implementations
Conditions for Efficiency Improvement by Tree Transducer Composition
We study the question of efficiency improvement or deterioration for a semantic-preserving program transformation technique based on macro tree transducer composition. By annotating functional programs to reflect the internal property “computation time ” explicitly in the computed output, and by manipulating such annotations, we formally prove syntactic conditions under which the composed program is guaranteed to be more efficient than the original program, with respect to call-by-need reduction to normal form. The developed criteria can be checked automatically, and thus are suitable for integration into an optimizing functional compiler
Noninvasive Magnetic-Marking-Based Flow Metering with Optically Pumped Magnetometers
We present a noninvasive procedure that measures the flow velocity of a fluid by using polarized hydrogen nuclei in the fluid. The measurement procedure is based on a time-of-flight method where magnetic information is applied on the fluid with a permanent magnet and an RF-pulse. In contrast to other methods, this magnetic-marking method works without tracers. The read-out of the magnetic information is performed by optically pumped magnetometers downstream. In order to function, the magnetometers have to be operated in a magnetic shield with magnetic field strengths lower than 100 nT, i.e., in the zero-to-ultra-low-field regime. In this regime, the magnetometers are capable of detecting induced magnetic signals of 10 pT or less with an inline-flow setup. The results presented in this paper demonstrate the viability of optically pumped magnetometers for flow metering. The first metering results yielded an average accuracy of 3% at flow velocities between 13 cm/s and 22.4 cm/s
CONTINUOUS-WAVE OPTICAL PARAMETRIC OSCILLATORS: A NEW TOOL FOR MOLECULAR SPECTROSCOPY
[1] K. Schneider et al. Opt. Lett. 22, 1293 (1997) [2] F. Khnemann et al. Appl. Phys. B, submittedAuthor Institution: Fak. Physik, Univ. Konstanz; Fak, Physik, Univ. Bonn30 years since their first demonstration, continuous-wave optical parametric oscillators (OPOs) have finally reached a stage of development where they can be used for high-resolution spectroscopy. We have demonstrated, for the first time, photoacoustic trace gas detection using a highly stable OPO. The compact OPO is pumped by a diode-pumped single-frequency Nd:YAG laser and uses a periodically poled lithium niobate multigrating crystal [1]. The emission range spans 1.45 to (at about 10 mW output power) and 2.3 to (at up to 230 mW). The output is single-frequency (no mode-hops), with a linewidth less than 150 kHz, a frequency stability better than 30 MHz over an hour, and low intensity fluctuations. Photoacoustic detection of ethane at in an extra-cavity resonant cell has been performed [2]. In comparison to e.g. the CO overtone laser, it is possible to tune the OPO to the strongest molecular absorption line for maximum sensitivity. A detection limit of 0.5 ppb has been demonstrated. The compact dimensions and good efficiency of the OPO open the possibility of a portable system for field use
Simultaneous online detection of isoprene and isoprene-d(2) using infrared photoacoustic spectroscopy
A photoacoustic spectrometer for the simultaneous detection of isoprene and the deuterated species [4,4-H-2]-2-methyl-1,3- butadiene (isoprene-d(2)) is presented. Using a sealed-off 13 CO2 laser a single-component detection limit of 400 ppt (isoprene)
Comparison of Deforestation Techniques for Functional Programs and for Tree Transducers
We compare transformations for the elimination of intermediate results in first-order functional programs. We choose the well known deforestation technique of Wadler and composition techniques from the theory of tree transducers, of which the implementation of functional programs yet does not take advantage. We identify syntactic classes of function definitions for which both techniques deliver equally efficient results and for which one technique is more powerful than the other
Deaccumulation — Improving Provability
Several induction theorem provers were developed to verify functional programs mechanically. Unfortunately, automated verification usually fails for functions with accumulating arguments. In particular, this holds for tail-recursive functions that correspond to imperative programs, but also for programs with nested recursion. Based on results from the theory of tree transducers, we develop an automatic transformation technique. It transforms accumulative functional programs into non-accumulative ones, which are much better suited for automated verification by induction theorem provers. Hence, in contrast to classical program transformations aiming at improving the e#ciency, the goal of our deaccumulation technique is to improve the provability